es-decls(es;i;ds;da)
== xfpf-domain(ds).let T = ds(x) in vartype(i;x) T == & kfpf-domain(da).
== & let T = da(k) in e:E. loc(e) = i isrcv(e) kind(e) = k valtype(e) T
es-decls(es;i;ds;da)
== xfpf-domain(ds).let T = fpf-ap(ds; IdDeq; x) in es-vartype(es; i; x) T == & kfpf-domain(da).
== & let T = fpf-ap(da; KindDeq; k) in
== & e:es-E(es).
== & es-loc(es; e) = i Id es-isrcv(es; e)
== & es-kind(es; e) = k Knd
== & es-valtype(es; e) T